The present invention relates in general to spread-spectrum systems, and more particularly to systems and methods for acquiring geo-location using a snapshot of the GPS (Global Positioning System) signal.
The Global Positioning System (GPS) is a global navigation system made up of a constellation of orbiting navigation satellites receivers. A GPS receiver uses signals received from three or more of the GPS satellites to determined navigational data, such as position and velocity. The GPS receiver is able to determine position and speed information by computing the relative times of arrival of the GPS signals that are simultaneously transmitted from a multiplicity of GPS satellites.
Each satellite transmits its navigation message with at least two distinct spread spectrum codes: a publicly available Coarse/Acquisition (C/A) code, and a Precise (P) code, which is usually encrypted and reserved for military applications. The C/A code is a 1,023 chip pseudo-random code, the C/A code having a repetition period of 1 millisecond. Each satellite transmits its own C/A code, so that it can be uniquely identified and received separately from the other satellites transmitting on the same frequency.
FIG. 1 illustrates a conventional approach used to acquire a GPS signal known in the art. In the conventional approach, a GPS receiver generates a local C/A code 110a composed of N+1 “chips” c0-cN; where N=1022 which it uses to autocorrelate with a received GPS signal 120a over a first C/A code frame period 130a, the result 140a being output or stored. The GPS receiver repeats the aforementioned processes, whereby the local C/A code 110 is advanced or delay by a predetermined number of chips (e.g., 1 bit advanced as shown), the shifted local C/A code 110b is autocorrelated with a received GPS signal 120b over a second C/A code frame period 130b, and the result 140b output or stored. The GPS receiver continues repeating the aforementioned processes for n iterations, whereby the nth version of the local C/A code 110n is autocorrrelated with a received GPS signal 120n acquired over an nth C/A code frame period 130n, the result 140n output or stored. The autocorrelated outputs are compared, the result having the largest magnitude (shown as 140n) indicating the local C/A code version 110n having the best alignment with the received GPS signal. The receiver selects the local C/A code version providing the highest correlated out with the received GPS signal as its local C/A code for further processing of the GPS signal.
While the prior art method is generally effective in acquiring the GPS signal, the processing time required to autocorrelate the local C/A code with the GPS signal in the aforementioned serial fashion is time consuming. In the worst case, autocorrelation of all C/A code versions is required until the correct C/A code is identified, resulting in a worst case processing time of (1,023 chips/frame 1 ms), or 1.023 seconds until the GPS signal is positively acquired. A delay of this magnitude is problematic in various respects, for example, location or speed information will not be accurate when the receiver is in motion. There are many prior arts employing the massive parallel correlators to expedite acquisition process at higher implementation cost and power consumptions. Almost all these solutions are implemented digitally by sacrificing sensitivity by quantizing GPS signal with 1 or 2 bits to alleviate some implementation cost and power consumption.
What is needed is a system and method that provides for faster GPS signal acquisition at very low implementation cost and power consumption, and maintains high sensitivity.